<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script src="elementUI/vue.js"></script>
  <script src="elementUI/echarts.js"></script>
  <script src="elementUI/vue-echarts.js"></script>
  <script src="elementUI/axios.min.js"></script>
</head>
<body>
  <div id="app">
      <button @click="changeData">getData</button>
      <div id="main" style="height: 600px"></div>
  </div>


  <script>
      var myChart =null;

      new Vue({
          el:'#app',
          data(){
              return{
                  option : {
                      title : {
                          text: '某站点用户访问来源',
                          subtext: '纯属虚构',
                          x:'center'
                      },
                      tooltip : {
                          trigger: 'item',
                          formatter: "{a} <br/>{b} : {c} ({d}%)"
                      },
                      legend: {
                          orient : 'vertical',
                          x : 'left',
                          data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
                      },
                      toolbox: {
                          show : true,
                          feature : {
                              mark : {show: true},
                              dataView : {show: true, readOnly: false},
                              magicType : {
                                  show: true,
                                  type: ['pie', 'funnel'],
                                  option: {
                                      funnel: {
                                          x: '25%',
                                          width: '50%',
                                          funnelAlign: 'left',
                                          max: 1548
                                      }
                                  }
                              },
                              restore : {show: true},
                              saveAsImage : {show: true}
                          }
                      },
                      calculable : true,
                      series : [
                          {
                              name:'访问来源',
                              type:'pie',
                              radius : '55%',
                              center: ['50%', '60%'],
                              data:[
                                  {value:335, name:'直接访问'},
                                  {value:310, name:'邮件营销'},
                                  {value:234, name:'联盟广告'},
                                  {value:135, name:'视频广告'},
                                  {value:1548, name:'搜索引擎'}
                              ]
                          }
                      ]
                  }
              }
          },
          mounted(){
              myChart =  echarts.init(document.getElementById('main'));
              myChart.setOption(this.option);
          },
          methods:{
              changeData:function(){
                  let _this = this;
                  axios.get('http://localhost:8090/api/book/countBookByCategory')
                      .then(function (response) {
                          // console.log(response);
                          let list =  response.data.results;
                          console.log(list.length);
                          let a = new Array();
                          for(let i =0; i< list.length;i++){
                              a.push(list[i].category);//------category,,,,count
                          }
                          console.log(list);

                          _this.option.legend.data = a;//0000000001
                          _this.option.series[0].data =list;


                      })
                      .catch(function (error) {
                          console.log(error);
                      });

                  myChart.setOption(this.option);
              }
          }
      }) ;

  </script>

</body>
</html>